<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>cppMISC: wheels::resolver类 参考</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript" src="../../darkmode_toggle.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">cppMISC<span id="projectnumber">&#160;v1.1</span>
   </div>
   <div id="projectbrief">cppMisc 文档系统</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',true,false,'search.php','搜索',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">载入中...</div>
<div class="SRStatus" id="Searching">搜索中...</div>
<div class="SRStatus" id="NoMatches">未找到</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../df/d8d/namespacewheels.html">wheels</a></li><li class="navelem"><a class="el" href="../../d1/d91/classwheels_1_1resolver.html">resolver</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-static-methods">静态 Public 成员函数</a> &#124;
<a href="../../d0/d17/classwheels_1_1resolver-members.html">所有成员列表</a>  </div>
  <div class="headertitle"><div class="title">wheels::resolver类 参考</div></div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="../../dc/da6/resolver_8hpp_source.html">resolver.hpp</a>&gt;</code></p>
<div class="dynheader">
wheels::resolver 的协作图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d82/classwheels_1_1resolver__coll__graph.png" border="0" usemap="#awheels_1_1resolver_coll__map" alt="Collaboration graph"/></div>
<map name="awheels_1_1resolver_coll__map" id="awheels_1_1resolver_coll__map">
<area shape="rect" title=" " alt="" coords="5,5,216,901"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a01a6d6380a3a3cd74fe8ba7cc913d5f3" id="r_a01a6d6380a3a3cd74fe8ba7cc913d5f3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">protocol</a> { <a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d">IP4</a>
, <a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3ac41e26c5f094bc5e238148e89f537f41">IP6</a>
 }</td></tr>
<tr class="separator:a01a6d6380a3a3cd74fe8ba7cc913d5f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afce9626e56748f6eaf37fb14e51aa4c3" id="r_afce9626e56748f6eaf37fb14e51aa4c3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afce9626e56748f6eaf37fb14e51aa4c3">err_code</a> { <a class="el" href="#afce9626e56748f6eaf37fb14e51aa4c3af19d656cfa3ad08c486b584b077e9ef4">ERR_BASE</a> = -1000
, <a class="el" href="#afce9626e56748f6eaf37fb14e51aa4c3a0cb93165c4a3abcda41b979f3387ceb6">ERR_ALLOC_MEM</a>
, <a class="el" href="#afce9626e56748f6eaf37fb14e51aa4c3aefc7a7500c732953216e9236dc8bc327">ERR_UV_DNS_RESOLVE</a>
, <a class="el" href="#afce9626e56748f6eaf37fb14e51aa4c3a2de92ce777d335de3ca97f96c68e5121">OK</a>
 }</td></tr>
<tr class="separator:afce9626e56748f6eaf37fb14e51aa4c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abef867851ac96413f0ea5fa334d84b59" id="r_abef867851ac96413f0ea5fa334d84b59"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abef867851ac96413f0ea5fa334d84b59">emErrCode</a> = <a class="el" href="#afce9626e56748f6eaf37fb14e51aa4c3">err_code</a></td></tr>
<tr class="separator:abef867851ac96413f0ea5fa334d84b59"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a41847ebd788e7a75b46cfa1b94a15a73" id="r_a41847ebd788e7a75b46cfa1b94a15a73"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a41847ebd788e7a75b46cfa1b94a15a73">resolver</a> ()</td></tr>
<tr class="separator:a41847ebd788e7a75b46cfa1b94a15a73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a562b57b5d610a756f34796ccf8ca9661" id="r_a562b57b5d610a756f34796ccf8ca9661"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a562b57b5d610a756f34796ccf8ca9661">resolver</a> (const std::string &amp;url, int port, bool type, std::function&lt; void(struct addrinfo *)&gt; fun)</td></tr>
<tr class="memdesc:a562b57b5d610a756f34796ccf8ca9661"><td class="mdescLeft">&#160;</td><td class="mdescRight">对象构造函数，对象建立后立即进行域名解析。函数调用后立即返回，操作结果通过回调 函数获取  <br /></td></tr>
<tr class="separator:a562b57b5d610a756f34796ccf8ca9661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5d9103a8d413b5e4c47a83eaa6a12cf" id="r_ae5d9103a8d413b5e4c47a83eaa6a12cf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae5d9103a8d413b5e4c47a83eaa6a12cf">resolver</a> (const std::string &amp;url, const std::string &amp;service, std::function&lt; void(struct addrinfo *)&gt; fun)</td></tr>
<tr class="separator:ae5d9103a8d413b5e4c47a83eaa6a12cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a908b82dbfd25e102b9af6b2d0a0466e4" id="r_a908b82dbfd25e102b9af6b2d0a0466e4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a908b82dbfd25e102b9af6b2d0a0466e4">resolver</a> (const std::string &amp;url, int port, bool type, std::function&lt; void(struct addrinfo *) &gt; on_success, std::function&lt; void(int)&gt; on_fail)</td></tr>
<tr class="separator:a908b82dbfd25e102b9af6b2d0a0466e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6fba2077fda8e8a9f9eb0ae6bb6083b" id="r_ae6fba2077fda8e8a9f9eb0ae6bb6083b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae6fba2077fda8e8a9f9eb0ae6bb6083b">resolver</a> (const std::string &amp;url, const std::string &amp;service, std::function&lt; void(struct addrinfo *) &gt; on_success, std::function&lt; void(int)&gt; on_fail)</td></tr>
<tr class="separator:ae6fba2077fda8e8a9f9eb0ae6bb6083b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f21679631bf350c38d4324deb1d726f" id="r_a6f21679631bf350c38d4324deb1d726f"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f21679631bf350c38d4324deb1d726f">~resolver</a> ()</td></tr>
<tr class="separator:a6f21679631bf350c38d4324deb1d726f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb2466244a1cd145e6a53621f7fbfe23" id="r_adb2466244a1cd145e6a53621f7fbfe23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adb2466244a1cd145e6a53621f7fbfe23">resolve</a> (const std::string &amp;url, int port, bool type, std::function&lt; void(struct addrinfo *)&gt; fun)</td></tr>
<tr class="memdesc:adb2466244a1cd145e6a53621f7fbfe23"><td class="mdescLeft">&#160;</td><td class="mdescRight">解析给定的域名。  <br /></td></tr>
<tr class="separator:adb2466244a1cd145e6a53621f7fbfe23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a614a278674742bdcab48df0504650747" id="r_a614a278674742bdcab48df0504650747"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a614a278674742bdcab48df0504650747">resolve</a> (const std::string &amp;url, int port, bool type, std::function&lt; void(struct addrinfo *)&gt; funok, std::function&lt; void(int)&gt; funfail)</td></tr>
<tr class="separator:a614a278674742bdcab48df0504650747"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bbf081cf1e028527d89ff0c3589626f" id="r_a2bbf081cf1e028527d89ff0c3589626f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2bbf081cf1e028527d89ff0c3589626f">resolve</a> (const std::string &amp;url, const std::string &amp;service, std::function&lt; void(struct addrinfo *)&gt; fun)</td></tr>
<tr class="separator:a2bbf081cf1e028527d89ff0c3589626f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b75f8f7a7d57656aabc86a5476af3c6" id="r_a1b75f8f7a7d57656aabc86a5476af3c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1b75f8f7a7d57656aabc86a5476af3c6">resolve</a> (const std::string &amp;url, const std::string &amp;service, std::function&lt; void(struct addrinfo *)&gt; funok, std::function&lt; void(int)&gt; funfail)</td></tr>
<tr class="separator:a1b75f8f7a7d57656aabc86a5476af3c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8d75fee8d102d8143be8b76a0fec1f0" id="r_af8d75fee8d102d8143be8b76a0fec1f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af8d75fee8d102d8143be8b76a0fec1f0">resolve</a> (const std::string &amp;url, int port, <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;ips, <a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">protocol</a> ptcol=<a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d">IP4</a>)</td></tr>
<tr class="separator:af8d75fee8d102d8143be8b76a0fec1f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8af18321ec1e4eedffe6130b4468ee" id="r_a3f8af18321ec1e4eedffe6130b4468ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3f8af18321ec1e4eedffe6130b4468ee">resolve</a> (const std::string &amp;url, int port, struct addrinfo *res, <a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">protocol</a> ptcol=<a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d">IP4</a>)</td></tr>
<tr class="separator:a3f8af18321ec1e4eedffe6130b4468ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a787ce5bc0dc40a534ec9d1939f7aea0a" id="r_a787ce5bc0dc40a534ec9d1939f7aea0a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a787ce5bc0dc40a534ec9d1939f7aea0a">resolve</a> (const std::string &amp;url, const std::string &amp;service, <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;ips, <a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">protocol</a> ptcol=<a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d">IP4</a>)</td></tr>
<tr class="separator:a787ce5bc0dc40a534ec9d1939f7aea0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abecbbd48f191a430ff698801bd1aebd0" id="r_abecbbd48f191a430ff698801bd1aebd0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abecbbd48f191a430ff698801bd1aebd0">resolve</a> (const std::string &amp;url, const std::string &amp;service, struct addrinfo *res, <a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">protocol</a> ptcol=<a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d">IP4</a>)</td></tr>
<tr class="separator:abecbbd48f191a430ff698801bd1aebd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77040f18326deaf3d6e5656406267598" id="r_a77040f18326deaf3d6e5656406267598"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a77040f18326deaf3d6e5656406267598">on_resolve</a> (struct addrinfo *info)</td></tr>
<tr class="separator:a77040f18326deaf3d6e5656406267598"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adadcdb5bd66b45fe0afdc66c79bd0ced" id="r_adadcdb5bd66b45fe0afdc66c79bd0ced"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adadcdb5bd66b45fe0afdc66c79bd0ced">seterror</a> (int error)</td></tr>
<tr class="separator:adadcdb5bd66b45fe0afdc66c79bd0ced"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55b694068d947ba812181e5064071620" id="r_a55b694068d947ba812181e5064071620"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a55b694068d947ba812181e5064071620">clear</a> ()</td></tr>
<tr class="separator:a55b694068d947ba812181e5064071620"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a416942bb1963ac538d39d587b21b4933" id="r_a416942bb1963ac538d39d587b21b4933"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a416942bb1963ac538d39d587b21b4933">finish</a> ()</td></tr>
<tr class="separator:a416942bb1963ac538d39d587b21b4933"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
静态 Public 成员函数</h2></td></tr>
<tr class="memitem:a7065c9cba5c51587e536a794c2e79793" id="r_a7065c9cba5c51587e536a794c2e79793"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7065c9cba5c51587e536a794c2e79793">errMsg</a> (int err)</td></tr>
<tr class="separator:a7065c9cba5c51587e536a794c2e79793"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock">
<p class="definition">在文件 <a class="el" href="../../dc/da6/resolver_8hpp_source.html">resolver.hpp</a> 第 <a class="el" href="../../dc/da6/resolver_8hpp_source.html#l00020">20</a> 行定义.</p>
</div><h2 class="groupheader">成员类型定义说明</h2>
<a id="abef867851ac96413f0ea5fa334d84b59" name="abef867851ac96413f0ea5fa334d84b59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abef867851ac96413f0ea5fa334d84b59">&#9670;&#160;</a></span>emErrCode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="#afce9626e56748f6eaf37fb14e51aa4c3">wheels::resolver::emErrCode</a> = <a class="el" href="#afce9626e56748f6eaf37fb14e51aa4c3">err_code</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../dc/da6/resolver_8hpp_source.html">resolver.hpp</a> 第 <a class="el" href="../../dc/da6/resolver_8hpp_source.html#l00031">31</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">成员枚举类型说明</h2>
<a id="afce9626e56748f6eaf37fb14e51aa4c3" name="afce9626e56748f6eaf37fb14e51aa4c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afce9626e56748f6eaf37fb14e51aa4c3">&#9670;&#160;</a></span>err_code</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="#afce9626e56748f6eaf37fb14e51aa4c3">wheels::resolver::err_code</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">枚举值</th></tr><tr><td class="fieldname"><a id="afce9626e56748f6eaf37fb14e51aa4c3af19d656cfa3ad08c486b584b077e9ef4" name="afce9626e56748f6eaf37fb14e51aa4c3af19d656cfa3ad08c486b584b077e9ef4"></a>ERR_BASE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="afce9626e56748f6eaf37fb14e51aa4c3a0cb93165c4a3abcda41b979f3387ceb6" name="afce9626e56748f6eaf37fb14e51aa4c3a0cb93165c4a3abcda41b979f3387ceb6"></a>ERR_ALLOC_MEM&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="afce9626e56748f6eaf37fb14e51aa4c3aefc7a7500c732953216e9236dc8bc327" name="afce9626e56748f6eaf37fb14e51aa4c3aefc7a7500c732953216e9236dc8bc327"></a>ERR_UV_DNS_RESOLVE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="afce9626e56748f6eaf37fb14e51aa4c3a2de92ce777d335de3ca97f96c68e5121" name="afce9626e56748f6eaf37fb14e51aa4c3a2de92ce777d335de3ca97f96c68e5121"></a>OK&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">在文件 <a class="el" href="../../dc/da6/resolver_8hpp_source.html">resolver.hpp</a> 第 <a class="el" href="../../dc/da6/resolver_8hpp_source.html#l00025">25</a> 行定义.</p>

</div>
</div>
<a id="a01a6d6380a3a3cd74fe8ba7cc913d5f3" name="a01a6d6380a3a3cd74fe8ba7cc913d5f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">&#9670;&#160;</a></span>protocol</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">wheels::resolver::protocol</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">枚举值</th></tr><tr><td class="fieldname"><a id="a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d" name="a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d"></a>IP4&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a01a6d6380a3a3cd74fe8ba7cc913d5f3ac41e26c5f094bc5e238148e89f537f41" name="a01a6d6380a3a3cd74fe8ba7cc913d5f3ac41e26c5f094bc5e238148e89f537f41"></a>IP6&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">在文件 <a class="el" href="../../dc/da6/resolver_8hpp_source.html">resolver.hpp</a> 第 <a class="el" href="../../dc/da6/resolver_8hpp_source.html#l00024">24</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">构造及析构函数说明</h2>
<a id="a41847ebd788e7a75b46cfa1b94a15a73" name="a41847ebd788e7a75b46cfa1b94a15a73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41847ebd788e7a75b46cfa1b94a15a73">&#9670;&#160;</a></span>resolver() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">resolver::resolver </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00027">27</a> 行定义.</p>

</div>
</div>
<a id="a562b57b5d610a756f34796ccf8ca9661" name="a562b57b5d610a756f34796ccf8ca9661"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a562b57b5d610a756f34796ccf8ca9661">&#9670;&#160;</a></span>resolver() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">resolver::resolver </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>port</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>type</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(struct addrinfo *)&gt;</td>          <td class="paramname"><span class="paramname"><em>fun</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>对象构造函数，对象建立后立即进行域名解析。函数调用后立即返回，操作结果通过回调 函数获取 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">url</td><td></td></tr>
    <tr><td class="paramname">fun</td><td></td></tr>
    <tr><td class="paramname">on_success</td><td></td></tr>
    <tr><td class="paramname">on_fail</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00034">34</a> 行定义.</p>

</div>
</div>
<a id="ae5d9103a8d413b5e4c47a83eaa6a12cf" name="ae5d9103a8d413b5e4c47a83eaa6a12cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5d9103a8d413b5e4c47a83eaa6a12cf">&#9670;&#160;</a></span>resolver() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">resolver::resolver </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>service</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(struct addrinfo *)&gt;</td>          <td class="paramname"><span class="paramname"><em>fun</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00041">41</a> 行定义.</p>

</div>
</div>
<a id="a908b82dbfd25e102b9af6b2d0a0466e4" name="a908b82dbfd25e102b9af6b2d0a0466e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a908b82dbfd25e102b9af6b2d0a0466e4">&#9670;&#160;</a></span>resolver() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">resolver::resolver </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>port</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>type</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(struct addrinfo *) &gt;</td>          <td class="paramname"><span class="paramname"><em>on_success</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(int)&gt;</td>          <td class="paramname"><span class="paramname"><em>on_fail</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00048">48</a> 行定义.</p>

</div>
</div>
<a id="ae6fba2077fda8e8a9f9eb0ae6bb6083b" name="ae6fba2077fda8e8a9f9eb0ae6bb6083b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6fba2077fda8e8a9f9eb0ae6bb6083b">&#9670;&#160;</a></span>resolver() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wheels::resolver::resolver </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>service</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(struct addrinfo *) &gt;</td>          <td class="paramname"><span class="paramname"><em>on_success</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(int)&gt;</td>          <td class="paramname"><span class="paramname"><em>on_fail</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6f21679631bf350c38d4324deb1d726f" name="a6f21679631bf350c38d4324deb1d726f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f21679631bf350c38d4324deb1d726f">&#9670;&#160;</a></span>~resolver()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">resolver::~resolver </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00062">62</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="a55b694068d947ba812181e5064071620" name="a55b694068d947ba812181e5064071620"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55b694068d947ba812181e5064071620">&#9670;&#160;</a></span>clear()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void wheels::resolver::clear </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../dc/da6/resolver_8hpp_source.html">resolver.hpp</a> 第 <a class="el" href="../../dc/da6/resolver_8hpp_source.html#l00098">98</a> 行定义.</p>

</div>
</div>
<a id="a7065c9cba5c51587e536a794c2e79793" name="a7065c9cba5c51587e536a794c2e79793"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7065c9cba5c51587e536a794c2e79793">&#9670;&#160;</a></span>errMsg()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string resolver::errMsg </td>
          <td>(</td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>err</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00291">291</a> 行定义.</p>

</div>
</div>
<a id="a416942bb1963ac538d39d587b21b4933" name="a416942bb1963ac538d39d587b21b4933"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a416942bb1963ac538d39d587b21b4933">&#9670;&#160;</a></span>finish()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool wheels::resolver::finish </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../dc/da6/resolver_8hpp_source.html">resolver.hpp</a> 第 <a class="el" href="../../dc/da6/resolver_8hpp_source.html#l00100">100</a> 行定义.</p>

</div>
</div>
<a id="a77040f18326deaf3d6e5656406267598" name="a77040f18326deaf3d6e5656406267598"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77040f18326deaf3d6e5656406267598">&#9670;&#160;</a></span>on_resolve()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resolver::on_resolve </td>
          <td>(</td>
          <td class="paramtype">struct addrinfo *</td>          <td class="paramname"><span class="paramname"><em>info</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00138">138</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d1/d91/classwheels_1_1resolver_a77040f18326deaf3d6e5656406267598_icgraph.png" border="0" usemap="#ad1/d91/classwheels_1_1resolver_a77040f18326deaf3d6e5656406267598_icgraph" alt=""/></div>
<map name="ad1/d91/classwheels_1_1resolver_a77040f18326deaf3d6e5656406267598_icgraph" id="ad1/d91/classwheels_1_1resolver_a77040f18326deaf3d6e5656406267598_icgraph">
<area shape="rect" title=" " alt="" coords="377,73,515,116"/>
<area shape="rect" href="../../d6/d77/resolver_8cpp.html#a54bd5e9cc3e97cc0eb97c95e7bad5f4d" title=" " alt="" coords="220,81,329,108"/>
<area shape="poly" title=" " alt="" coords="361,97,329,97,329,92,361,92"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#a1b75f8f7a7d57656aabc86a5476af3c6" title=" " alt="" coords="5,5,172,32"/>
<area shape="poly" title=" " alt="" coords="234,76,171,46,139,35,141,30,173,42,236,71"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#af8d75fee8d102d8143be8b76a0fec1f0" title=" " alt="" coords="5,56,172,83"/>
<area shape="poly" title=" " alt="" coords="204,88,172,83,173,78,205,83"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#adb2466244a1cd145e6a53621f7fbfe23" title="解析给定的域名。" alt="" coords="5,107,172,133"/>
<area shape="poly" title=" " alt="" coords="205,107,173,111,172,106,204,102"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#a614a278674742bdcab48df0504650747" title=" " alt="" coords="5,157,172,184"/>
<area shape="poly" title=" " alt="" coords="236,118,173,148,141,159,139,154,171,143,234,113"/>
</map>
</div>

</div>
</div>
<a id="a787ce5bc0dc40a534ec9d1939f7aea0a" name="a787ce5bc0dc40a534ec9d1939f7aea0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a787ce5bc0dc40a534ec9d1939f7aea0a">&#9670;&#160;</a></span>resolve() <span class="overload">[1/8]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resolver::resolve </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>service</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>ips</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">protocol</a></td>          <td class="paramname"><span class="paramname"><em>ptcol</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d">IP4</a></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00213">213</a> 行定义.</p>

</div>
</div>
<a id="a2bbf081cf1e028527d89ff0c3589626f" name="a2bbf081cf1e028527d89ff0c3589626f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bbf081cf1e028527d89ff0c3589626f">&#9670;&#160;</a></span>resolve() <span class="overload">[2/8]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wheels::resolver::resolve </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>service</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(struct addrinfo *)&gt;</td>          <td class="paramname"><span class="paramname"><em>fun</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a1b75f8f7a7d57656aabc86a5476af3c6" name="a1b75f8f7a7d57656aabc86a5476af3c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b75f8f7a7d57656aabc86a5476af3c6">&#9670;&#160;</a></span>resolve() <span class="overload">[3/8]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resolver::resolve </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>service</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(struct addrinfo *)&gt;</td>          <td class="paramname"><span class="paramname"><em>funok</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(int)&gt;</td>          <td class="paramname"><span class="paramname"><em>funfail</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00262">262</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d1/d91/classwheels_1_1resolver_a1b75f8f7a7d57656aabc86a5476af3c6_cgraph.png" border="0" usemap="#ad1/d91/classwheels_1_1resolver_a1b75f8f7a7d57656aabc86a5476af3c6_cgraph" alt=""/></div>
<map name="ad1/d91/classwheels_1_1resolver_a1b75f8f7a7d57656aabc86a5476af3c6_cgraph" id="ad1/d91/classwheels_1_1resolver_a1b75f8f7a7d57656aabc86a5476af3c6_cgraph">
<area shape="rect" title=" " alt="" coords="5,43,172,69"/>
<area shape="rect" href="../../de/d44/classwheels_1_1dm_1_1singleton.html#ab064e1d47abf923e4ae0deaac875c173" title=" " alt="" coords="220,5,368,48"/>
<area shape="poly" title=" " alt="" coords="172,41,204,37,205,42,173,47"/>
<area shape="rect" href="../../d6/d77/resolver_8cpp.html#a54bd5e9cc3e97cc0eb97c95e7bad5f4d" title=" " alt="" coords="239,72,348,99"/>
<area shape="poly" title=" " alt="" coords="173,65,224,73,223,78,172,71"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#a77040f18326deaf3d6e5656406267598" title=" " alt="" coords="431,35,569,77"/>
<area shape="poly" title=" " alt="" coords="348,75,416,65,416,71,349,80"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#adadcdb5bd66b45fe0afdc66c79bd0ced" title=" " alt="" coords="416,101,584,128"/>
<area shape="poly" title=" " alt="" coords="349,90,401,98,400,103,348,96"/>
</map>
</div>

</div>
</div>
<a id="abecbbd48f191a430ff698801bd1aebd0" name="abecbbd48f191a430ff698801bd1aebd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abecbbd48f191a430ff698801bd1aebd0">&#9670;&#160;</a></span>resolve() <span class="overload">[4/8]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resolver::resolve </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>service</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct addrinfo *</td>          <td class="paramname"><span class="paramname"><em>res</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">protocol</a></td>          <td class="paramname"><span class="paramname"><em>ptcol</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d">IP4</a></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00221">221</a> 行定义.</p>

</div>
</div>
<a id="af8d75fee8d102d8143be8b76a0fec1f0" name="af8d75fee8d102d8143be8b76a0fec1f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8d75fee8d102d8143be8b76a0fec1f0">&#9670;&#160;</a></span>resolve() <span class="overload">[5/8]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resolver::resolve </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>port</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>ips</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">protocol</a></td>          <td class="paramname"><span class="paramname"><em>ptcol</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d">IP4</a></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00184">184</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d1/d91/classwheels_1_1resolver_af8d75fee8d102d8143be8b76a0fec1f0_cgraph.png" border="0" usemap="#ad1/d91/classwheels_1_1resolver_af8d75fee8d102d8143be8b76a0fec1f0_cgraph" alt=""/></div>
<map name="ad1/d91/classwheels_1_1resolver_af8d75fee8d102d8143be8b76a0fec1f0_cgraph" id="ad1/d91/classwheels_1_1resolver_af8d75fee8d102d8143be8b76a0fec1f0_cgraph">
<area shape="rect" title=" " alt="" coords="5,43,172,69"/>
<area shape="rect" href="../../de/d44/classwheels_1_1dm_1_1singleton.html#ab064e1d47abf923e4ae0deaac875c173" title=" " alt="" coords="220,5,368,48"/>
<area shape="poly" title=" " alt="" coords="172,41,204,37,205,42,173,47"/>
<area shape="rect" href="../../d6/d77/resolver_8cpp.html#a54bd5e9cc3e97cc0eb97c95e7bad5f4d" title=" " alt="" coords="239,72,348,99"/>
<area shape="poly" title=" " alt="" coords="173,65,224,73,223,78,172,71"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#a77040f18326deaf3d6e5656406267598" title=" " alt="" coords="431,35,569,77"/>
<area shape="poly" title=" " alt="" coords="348,75,416,65,416,71,349,80"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#adadcdb5bd66b45fe0afdc66c79bd0ced" title=" " alt="" coords="416,101,584,128"/>
<area shape="poly" title=" " alt="" coords="349,90,401,98,400,103,348,96"/>
</map>
</div>

</div>
</div>
<a id="adb2466244a1cd145e6a53621f7fbfe23" name="adb2466244a1cd145e6a53621f7fbfe23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb2466244a1cd145e6a53621f7fbfe23">&#9670;&#160;</a></span>resolve() <span class="overload">[6/8]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resolver::resolve </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>port</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>type</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(struct addrinfo *)&gt;</td>          <td class="paramname"><span class="paramname"><em>fun</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>解析给定的域名。 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">fun</td><td>， 通过回调函数发挥addrinfo结构数据 </td></tr>
    <tr><td class="paramname">ips</td><td>， 返回点分制的字符串 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00080">80</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d1/d91/classwheels_1_1resolver_adb2466244a1cd145e6a53621f7fbfe23_cgraph.png" border="0" usemap="#ad1/d91/classwheels_1_1resolver_adb2466244a1cd145e6a53621f7fbfe23_cgraph" alt=""/></div>
<map name="ad1/d91/classwheels_1_1resolver_adb2466244a1cd145e6a53621f7fbfe23_cgraph" id="ad1/d91/classwheels_1_1resolver_adb2466244a1cd145e6a53621f7fbfe23_cgraph">
<area shape="rect" title="解析给定的域名。" alt="" coords="5,43,172,69"/>
<area shape="rect" href="../../de/d44/classwheels_1_1dm_1_1singleton.html#ab064e1d47abf923e4ae0deaac875c173" title=" " alt="" coords="220,5,368,48"/>
<area shape="poly" title=" " alt="" coords="172,41,204,37,205,42,173,47"/>
<area shape="rect" href="../../d6/d77/resolver_8cpp.html#a54bd5e9cc3e97cc0eb97c95e7bad5f4d" title=" " alt="" coords="239,72,348,99"/>
<area shape="poly" title=" " alt="" coords="173,65,224,73,223,78,172,71"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#a77040f18326deaf3d6e5656406267598" title=" " alt="" coords="431,35,569,77"/>
<area shape="poly" title=" " alt="" coords="348,75,416,65,416,71,349,80"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#adadcdb5bd66b45fe0afdc66c79bd0ced" title=" " alt="" coords="416,101,584,128"/>
<area shape="poly" title=" " alt="" coords="349,90,401,98,400,103,348,96"/>
</map>
</div>

</div>
</div>
<a id="a614a278674742bdcab48df0504650747" name="a614a278674742bdcab48df0504650747"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a614a278674742bdcab48df0504650747">&#9670;&#160;</a></span>resolve() <span class="overload">[7/8]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resolver::resolve </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>port</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>type</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(struct addrinfo *)&gt;</td>          <td class="paramname"><span class="paramname"><em>funok</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(int)&gt;</td>          <td class="paramname"><span class="paramname"><em>funfail</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00225">225</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d1/d91/classwheels_1_1resolver_a614a278674742bdcab48df0504650747_cgraph.png" border="0" usemap="#ad1/d91/classwheels_1_1resolver_a614a278674742bdcab48df0504650747_cgraph" alt=""/></div>
<map name="ad1/d91/classwheels_1_1resolver_a614a278674742bdcab48df0504650747_cgraph" id="ad1/d91/classwheels_1_1resolver_a614a278674742bdcab48df0504650747_cgraph">
<area shape="rect" title=" " alt="" coords="5,43,172,69"/>
<area shape="rect" href="../../de/d44/classwheels_1_1dm_1_1singleton.html#ab064e1d47abf923e4ae0deaac875c173" title=" " alt="" coords="220,5,368,48"/>
<area shape="poly" title=" " alt="" coords="172,41,204,37,205,42,173,47"/>
<area shape="rect" href="../../d6/d77/resolver_8cpp.html#a54bd5e9cc3e97cc0eb97c95e7bad5f4d" title=" " alt="" coords="239,72,348,99"/>
<area shape="poly" title=" " alt="" coords="173,65,224,73,223,78,172,71"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#a77040f18326deaf3d6e5656406267598" title=" " alt="" coords="431,35,569,77"/>
<area shape="poly" title=" " alt="" coords="348,75,416,65,416,71,349,80"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#adadcdb5bd66b45fe0afdc66c79bd0ced" title=" " alt="" coords="416,101,584,128"/>
<area shape="poly" title=" " alt="" coords="349,90,401,98,400,103,348,96"/>
</map>
</div>

</div>
</div>
<a id="a3f8af18321ec1e4eedffe6130b4468ee" name="a3f8af18321ec1e4eedffe6130b4468ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f8af18321ec1e4eedffe6130b4468ee">&#9670;&#160;</a></span>resolve() <span class="overload">[8/8]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resolver::resolve </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>port</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct addrinfo *</td>          <td class="paramname"><span class="paramname"><em>res</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3">protocol</a></td>          <td class="paramname"><span class="paramname"><em>ptcol</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="#a01a6d6380a3a3cd74fe8ba7cc913d5f3afe2b3109e53ef62a6c026a555db5b95d">IP4</a></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a> 第 <a class="el" href="../../d6/d77/resolver_8cpp_source.html#l00217">217</a> 行定义.</p>

</div>
</div>
<a id="adadcdb5bd66b45fe0afdc66c79bd0ced" name="adadcdb5bd66b45fe0afdc66c79bd0ced"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adadcdb5bd66b45fe0afdc66c79bd0ced">&#9670;&#160;</a></span>seterror()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void wheels::resolver::seterror </td>
          <td>(</td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>error</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../dc/da6/resolver_8hpp_source.html">resolver.hpp</a> 第 <a class="el" href="../../dc/da6/resolver_8hpp_source.html#l00096">96</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d1/d91/classwheels_1_1resolver_adadcdb5bd66b45fe0afdc66c79bd0ced_icgraph.png" border="0" usemap="#ad1/d91/classwheels_1_1resolver_adadcdb5bd66b45fe0afdc66c79bd0ced_icgraph" alt=""/></div>
<map name="ad1/d91/classwheels_1_1resolver_adadcdb5bd66b45fe0afdc66c79bd0ced_icgraph" id="ad1/d91/classwheels_1_1resolver_adadcdb5bd66b45fe0afdc66c79bd0ced_icgraph">
<area shape="rect" title=" " alt="" coords="377,81,545,108"/>
<area shape="rect" href="../../d6/d77/resolver_8cpp.html#a54bd5e9cc3e97cc0eb97c95e7bad5f4d" title=" " alt="" coords="220,81,329,108"/>
<area shape="poly" title=" " alt="" coords="361,97,329,97,329,92,361,92"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#a1b75f8f7a7d57656aabc86a5476af3c6" title=" " alt="" coords="5,5,172,32"/>
<area shape="poly" title=" " alt="" coords="234,76,171,46,139,35,141,30,173,42,236,71"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#af8d75fee8d102d8143be8b76a0fec1f0" title=" " alt="" coords="5,56,172,83"/>
<area shape="poly" title=" " alt="" coords="204,88,172,83,173,78,205,83"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#adb2466244a1cd145e6a53621f7fbfe23" title="解析给定的域名。" alt="" coords="5,107,172,133"/>
<area shape="poly" title=" " alt="" coords="205,107,173,111,172,106,204,102"/>
<area shape="rect" href="../../d1/d91/classwheels_1_1resolver.html#a614a278674742bdcab48df0504650747" title=" " alt="" coords="5,157,172,184"/>
<area shape="poly" title=" " alt="" coords="236,118,173,148,141,159,139,154,171,143,234,113"/>
</map>
</div>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>include/<a class="el" href="../../dc/da6/resolver_8hpp_source.html">resolver.hpp</a></li>
<li>src/<a class="el" href="../../d6/d77/resolver_8cpp_source.html">resolver.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
